const crypto = require('crypto');

const HashEmun = {
    MD5: 'md5',
    SHA1: 'sha1',
    SHA256: 'sha256',
    SHA512: 'sha512',
};

// 一个通用的哈希函数方法
// str: 要哈希的字符串
// type: 哈希类型，默认为 MD5
function hash(str, type = HashEmun.MD5) {
    const hash = crypto.createHash(type);
    hash.update(str);
    return hash.digest('hex');
}

const text = "Hello World"

// 生成MD5
console.log(hash(text, HashEmun.MD5));

// 生成SHA1
console.log(hash(text, HashEmun.SHA1));

// 生成SHA256
console.log(hash(text, HashEmun.SHA256));

// 生成SHA512
console.log(hash(text, HashEmun.SHA512));
